diff --git a/cypress/integration/vault.spec.js b/cypress/integration/vault.spec.js
--- a/cypress/integration/vault.spec.js
+++ b/cypress/integration/vault.spec.js
@@ -103,14 +103,71 @@
     cy.server();
   });
 
-  it('should create a directory cooking task and report its status', function() {
+  it('should report an error when vault service is experiencing issues', function() {
+    // Browse a directory
+    cy.visit(this.directoryUrl);
+
+    // Stub responses when requesting the vault API to simulate
+    // an internal server error
+    cy.route({
+      method: 'GET',
+      url: this.vaultDirectoryUrl,
+      response: {'exception': 'APIError'},
+      status: 500
+    }).as('checkVaultCookingTask');
+
+    cy.contains('button', 'Download')
+      .click();
+
+    // Check error alert is displayed
+    cy.get('.alert-danger')
+    .should('be.visible')
+    .should('contain', 'Archive cooking service is currently experiencing issues.');
+  });
+
+  it('should report an error when a cooking task creation failed', function() {
 
     // Browse a directory
     cy.visit(this.directoryUrl);
 
     // Stub responses when requesting the vault API to simulate
-    // a task has been created
+    // a task can not be created
+    cy.route({
+      method: 'GET',
+      url: this.vaultDirectoryUrl,
+      response: {'exception': 'NotFoundExc'}
+    }).as('checkVaultCookingTask');
 
+    cy.route({
+      method: 'POST',
+      url: this.vaultDirectoryUrl,
+      response: {'exception': 'ValueError'},
+      status: 500
+    }).as('createVaultCookingTask');
+
+    cy.contains('button', 'Download')
+      .click();
+
+    // Create a vault cooking task through the GUI
+    cy.get('.modal-dialog')
+      .contains('button:visible', 'Ok')
+      .click();
+
+    cy.wait('@createVaultCookingTask');
+
+    // Check error alert is displayed
+    cy.get('.alert-danger')
+      .should('be.visible')
+      .should('contain', 'Archive cooking request submission failed.');
+  });
+
+  it('should create a directory cooking task and report the success', function() {
+
+    // Browse a directory
+    cy.visit(this.directoryUrl);
+
+    // Stub responses when requesting the vault API to simulate
+    // a task has been created
     cy.route({
       method: 'GET',
       url: this.vaultDirectoryUrl,
@@ -143,8 +200,13 @@
 
       cy.wait('@createVaultCookingTask');
 
-      // Check that a redirection to the vault UI has been performed
-      cy.url().should('eq', Cypress.config().baseUrl + this.Urls.browse_vault());
+      // Check success alert is displayed
+      cy.get('.alert-success')
+        .should('be.visible')
+        .should('contain', 'Archive cooking request successfully submitted.');
+
+      // Go to Downloads page
+      cy.visit(this.Urls.browse_vault());
 
       cy.wait('@checkVaultCookingTask').then(() => {
         testStatus(this.directory, progressbarColors['new'], 'new', 'new');
@@ -240,8 +302,13 @@
 
       cy.wait('@createVaultCookingTask');
 
-      // Check that a redirection to the vault UI has been performed
-      cy.url().should('eq', Cypress.config().baseUrl + this.Urls.browse_vault());
+      // Check success alert is displayed
+      cy.get('.alert-success')
+        .should('be.visible')
+        .should('contain', 'Archive cooking request successfully submitted.');
+
+      // Go to Downloads page
+      cy.visit(this.Urls.browse_vault());
 
       cy.wait('@checkVaultCookingTask').then(() => {
         testStatus(this.revision, progressbarColors['new'], 'new', 'new');
diff --git a/swh/web/assets/src/bundles/vault/vault-create-tasks.js b/swh/web/assets/src/bundles/vault/vault-create-tasks.js
--- a/swh/web/assets/src/bundles/vault/vault-create-tasks.js
+++ b/swh/web/assets/src/bundles/vault/vault-create-tasks.js
@@ -5,7 +5,14 @@
  * See top-level LICENSE file for more information
  */
 
-import {handleFetchError, csrfPost} from 'utils/functions';
+import {handleFetchError, csrfPost, htmlAlert} from 'utils/functions';
+
+const alertStyle = {
+  'position': 'fixed',
+  'left': '1rem',
+  'bottom': '1rem',
+  'z-index': '100000'
+};
 
 export function vaultRequest(objectType, objectId) {
   let vaultUrl;
@@ -28,6 +35,14 @@
       // it will be asked to cook it again if it is not
       } else if (data.status === 'done') {
         $(`#vault-fetch-${objectType}-modal`).modal('show');
+      } else {
+        const cookingServiceDownAlert =
+          $(htmlAlert('danger',
+                      'Archive cooking service is currently experiencing issues.<br/>' +
+                      'Please try again later.',
+                      true));
+        cookingServiceDownAlert.css(alertStyle);
+        $('body').append(cookingServiceDownAlert);
       }
     });
 }
@@ -59,6 +74,7 @@
     if (cookingTask.email) {
       cookingUrl += '?email=' + cookingTask.email;
     }
+
     csrfPost(cookingUrl)
       .then(handleFetchError)
       .then(() => {
@@ -66,14 +82,25 @@
         localStorage.setItem('swh-vault-cooking-tasks', JSON.stringify(vaultCookingTasks));
         $('#vault-cook-directory-modal').modal('hide');
         $('#vault-cook-revision-modal').modal('hide');
-        window.location = Urls.browse_vault();
+        const cookingTaskCreatedAlert =
+          $(htmlAlert('success',
+                      'Archive cooking request successfully submitted.<br/>' +
+                      `Go to the <a href="${Urls.browse_vault()}">Downloads</a> page ` +
+                      'to get the download link once it is ready.',
+                      true));
+        cookingTaskCreatedAlert.css(alertStyle);
+        $('body').append(cookingTaskCreatedAlert);
       })
       .catch(() => {
         $('#vault-cook-directory-modal').modal('hide');
         $('#vault-cook-revision-modal').modal('hide');
+        const cookingTaskFailedAlert =
+          $(htmlAlert('danger',
+                      'Archive cooking request submission failed.',
+                      true));
+        cookingTaskFailedAlert.css(alertStyle);
+        $('body').append(cookingTaskFailedAlert);
       });
-  } else {
-    window.location = Urls.browse_vault();
   }
 }
 
diff --git a/swh/web/templates/includes/vault-create-tasks.html b/swh/web/templates/includes/vault-create-tasks.html
--- a/swh/web/templates/includes/vault-create-tasks.html
+++ b/swh/web/templates/includes/vault-create-tasks.html
@@ -51,10 +51,6 @@
             You have requested the cooking of the directory with identifier <strong>{{ vault_cooking.directory_id }}</strong>
             into a standard <code>tar.gz archive</code>.
           </p>
-          <p>
-            Once downloaded, the directory can be extracted with the following command:
-          </p>
-          <p><code>$ tar xvzf {{ vault_cooking.directory_id }}.tar.gz</code></p>
           <p>
             Are you sure you want to continue ?
           </p>
@@ -87,10 +83,6 @@
             You have requested the download of the directory with identifier <strong>{{ vault_cooking.directory_id }}</strong>
             as a standard <code>tar.gz archive</code>.
           </p>
-          <p>
-            Once downloaded, the directory can be extracted with the following command:
-          </p>
-          <p><code>$ tar xvzf {{ vault_cooking.directory_id }}.tar.gz</code></p>
           <p>
             Are you sure you want to continue ?
           </p>
@@ -117,13 +109,6 @@
             You have requested the cooking of the history heading to revision with identifier <strong>{{ vault_cooking.revision_id }}</strong>
             into a <code>git fast-import archive</code>.
           </p>
-          <p>
-            Once downloaded, the git repository can be imported with the following commands:
-          </p>
-          <p>
-            <code>$ git init</code><br/>
-            <code>$ zcat {{ vault_cooking.revision_id }}.gitfast.gz | git fast-import</code>
-          </p>
           <p>
             Are you sure you want to continue ?
           </p>
@@ -156,13 +141,6 @@
             You have requested the download of the history heading to revision with identifier <strong>{{ vault_cooking.revision_id }}</strong>
             as a <code>git fast-import archive</code>.
           </p>
-          <p>
-            Once downloaded, the git repository can be imported with the following commands:
-          </p>
-          <p>
-            <code>$ git init</code><br/>
-            <code>$ zcat {{ vault_cooking.revision_id }}.gitfast.gz | git fast-import</code>
-          </p>
           <p>
             Are you sure you want to continue ?
           </p>